home *** CD-ROM | disk | FTP | other *** search
Wrap
class MochiAd { var clip; var fadeout_start; var fadeout_time; var _parent; var onEnterFrame; var mc; var started; var _mochiad_bar; var last_pcnt; var server_control; var fadeFunction; var _callbacks; var _endpoint; var _queue; var doSend; var _id; var _mochiad_ctr; var _url; function MochiAd() { } static function getVersion() { return "2.1"; } static function showPreGameAd(options) { var _loc27_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,ad_started:function() { this.clip.stop(); },ad_finished:function() { this.clip.play(); }}; options = MochiAd._parseOptions(options,_loc27_); var clip = options.clip; var _loc23_ = 11000; var _loc26_ = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; "load"; MochiAd; 1; options; if(!undefined) { options.ad_finished(); return undefined; } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function() { options.ad_finished(); }; var _loc14_ = MochiAd._getRes(options); var _loc4_ = _loc14_[0]; var _loc13_ = _loc14_[1]; mc._x = _loc4_ * 0.5; mc._y = _loc13_ * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait",3); chk._x = _loc4_ * -0.5; chk._y = _loc13_ * -0.5; var _loc7_ = chk.createEmptyMovieClip("_mochiad_bar",4); _loc7_._x = 10; _loc7_._y = _loc13_ - 20; var _loc22_ = options.color; delete options.color; var _loc19_ = options.background; delete options.background; var _loc24_ = options.outline; delete options.outline; var _loc5_ = _loc7_.createEmptyMovieClip("_outline",1); _loc5_.beginFill(_loc19_); _loc5_.moveTo(0,0); _loc5_.lineTo(_loc4_ - 20,0); _loc5_.lineTo(_loc4_ - 20,10); _loc5_.lineTo(0,10); _loc5_.lineTo(0,0); _loc5_.endFill(); var _loc3_ = _loc7_.createEmptyMovieClip("_inside",2); _loc3_.beginFill(_loc22_); _loc3_.moveTo(0,0); _loc3_.lineTo(_loc4_ - 20,0); _loc3_.lineTo(_loc4_ - 20,10); _loc3_.lineTo(0,10); _loc3_.lineTo(0,0); _loc3_.endFill(); _loc3_._xscale = 0; var _loc6_ = _loc7_.createEmptyMovieClip("_outline",3); _loc6_.lineStyle(0,_loc24_,100); _loc6_.moveTo(0,0); _loc6_.lineTo(_loc4_ - 20,0); _loc6_.lineTo(_loc4_ - 20,10); _loc6_.lineTo(0,10); _loc6_.lineTo(0,0); chk.ad_msec = _loc23_; chk.ad_timeout = _loc26_; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function() { var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time); if(_loc2_ > 0) { this._parent._alpha = _loc2_; } else { var _loc3_ = this._parent._parent; MochiAd.unload(_loc3_); delete this.onEnterFrame; } }; mc.lc.adLoaded = function(width, height) { }; mc.lc.adjustProgress = function(msec) { var _loc2_ = this.mc._mochiad_wait; _loc2_.server_control = true; _loc2_.started = getTimer(); _loc2_.ad_msec = msec; }; chk.onEnterFrame = function() { var _loc6_ = this._parent._parent; var _loc12_ = this._parent._mochiad_ctr; var _loc5_ = getTimer() - this.started; var _loc3_ = false; var _loc4_ = _loc6_.getBytesTotal(); var _loc8_ = _loc6_.getBytesLoaded(); var _loc10_ = 100 * _loc8_ / _loc4_; var _loc11_ = 100 * _loc5_ / chk.ad_msec; var _loc9_ = this._mochiad_bar._inside; var _loc2_ = Math.min(100,Math.min(_loc10_ || 0,_loc11_)); _loc2_ = Math.max(this.last_pcnt,_loc2_); this.last_pcnt = _loc2_; _loc9_._xscale = _loc2_; if(!chk.showing) { var _loc7_ = _loc12_.getBytesTotal(); if(_loc7_ > 0 || typeof _loc7_ == "undefined") { chk.showing = true; chk.started = getTimer(); } else if(_loc5_ > chk.ad_timeout) { _loc3_ = true; } } if(_loc5_ > chk.ad_msec) { _loc3_ = true; } if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_) { if(this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; } } }; } static function showInterLevelAd(options) { var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function() { this.clip.stop(); },ad_finished:function() { this.clip.play(); }}; options = MochiAd._parseOptions(options,_loc13_); var clip = options.clip; var _loc10_ = 11000; var _loc12_ = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; "load"; MochiAd; 1; options; if(!undefined) { options.ad_finished(); return undefined; } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function() { options.ad_finished(); }; var _loc5_ = MochiAd._getRes(options); var _loc14_ = _loc5_[0]; var _loc11_ = _loc5_[1]; mc._x = _loc14_ * 0.5; mc._y = _loc11_ * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait",3); chk.ad_msec = _loc10_; chk.ad_timeout = _loc12_; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function() { var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time); if(_loc2_ > 0) { this._parent._alpha = _loc2_; } else { var _loc3_ = this._parent._parent; MochiAd.unload(_loc3_); delete this.onEnterFrame; } }; mc.lc.adLoaded = function(width, height) { }; mc.lc.adjustProgress = function(msec) { var _loc2_ = this.mc._mochiad_wait; _loc2_.server_control = true; _loc2_.started = getTimer(); _loc2_.ad_msec = msec - 250; }; chk.onEnterFrame = function() { var _loc5_ = this._parent._mochiad_ctr; var _loc4_ = getTimer() - this.started; var _loc2_ = false; if(!chk.showing) { var _loc3_ = _loc5_.getBytesTotal(); if(_loc3_ > 0 || typeof _loc3_ == "undefined") { chk.showing = true; chk.started = getTimer(); } else if(_loc4_ > chk.ad_timeout) { _loc2_ = true; } } if(_loc4_ > chk.ad_msec) { _loc2_ = true; } if(_loc2_) { if(this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; } } }; } static function showTimedAd(options) { MochiAd.showInterLevelAd(options); } static function showPreloaderAd(options) { MochiAd.showPreGameAd(options); } static function _allowDomains(server) { var _loc1_ = server.split("/")[2].split(":")[0]; if(System.security) { if(System.security.allowDomain) { "allowDomain"; System.security; 1; "*"; undefined; "allowDomain"; System.security; 1; _loc1_; undefined; } if(System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_loc1_); } } return _loc1_; } static function _loadCommunicator(options) { var _loc26_ = {clip:_root,com_server:"http://x.mochiads.com/com/1/",method:"loadCommunicator",depth:10337,id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options,_loc26_); options.swfv = options.clip.getSWFVersion() || 6; options.mav = MochiAd.getVersion(); var _loc18_ = options.clip; var _loc20_ = "_mochiad_com_" + options.id; if(!MochiAd._isNetworkAvailable()) { return null; } if(_loc18_[_loc20_]) { return _loc18_[_loc20_].lc; } var _loc21_ = options.com_server + options.id; MochiAd._allowDomains(_loc21_); delete options.id; delete options.com_server; var _loc25_ = options.depth; delete options.depth; var _loc17_ = _loc18_.createEmptyMovieClip(_loc20_,_loc25_); var _loc11_ = _loc17_.createEmptyMovieClip("_mochiad_com",1); for(var _loc15_ in options) { _loc11_[_loc15_] = options[_loc15_]; } var _loc6_ = new LocalConnection(); var _loc16_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_"); _loc6_.mc = _loc17_; _loc6_.name = _loc16_; _loc6_.allowDomain = function(d) { return true; }; _loc6_.allowInsecureDomain = _loc6_.allowDomain; "connect"; _loc6_; 1; _loc16_; undefined; _loc17_.lc = _loc6_; _loc11_.lc = _loc16_; _loc6_._id = 0; _loc6_._queue = []; _loc6_.rpcResult = function(cb_arg) { var _loc8_ = parseInt(cb_arg); var _loc4_ = this._callbacks[_loc8_]; if(!_loc4_) { return undefined; } delete this._callbacks[_loc8_]; var _loc5_ = []; var _loc3_ = 2; while(_loc3_ < _loc4_.length) { _loc5_.push(_loc4_[_loc3_]); _loc3_ = _loc3_ + 1; } _loc3_ = 1; while(_loc3_ < arguments.length) { _loc5_.push(arguments[_loc3_]); _loc3_ = _loc3_ + 1; } var _loc6_ = _loc4_[1]; var _loc7_ = _loc4_[0]; if(_loc7_ && typeof _loc6_ == "string") { _loc6_ = _loc7_[_loc6_]; } if(_loc6_) { _loc6_.apply(_loc7_,_loc5_); } }; _loc6_._didConnect = function(endpoint) { this._endpoint = endpoint; var _loc4_ = this._queue; delete this._queue; var _loc5_ = this.doSend; var _loc2_ = 0; while(_loc2_ < _loc4_.length) { var _loc3_ = _loc4_[_loc2_]; _loc5_.apply(this,_loc3_); _loc2_ = _loc2_ + 1; } }; _loc6_.doSend = function(args, cbobj, cbfn) { if(this._endpoint == null) { var _loc4_ = []; var _loc3_ = 0; while(_loc3_ < arguments.length) { _loc4_.push(arguments[_loc3_]); _loc3_ = _loc3_ + 1; } this._queue.push(_loc4_); return undefined; } this._id += 1; var _loc5_ = this._id; if(cbfn === undefined || cbfn === null) { cbfn = cbobj; } this._callbacks[_loc5_] = [cbobj,cbfn]; var _loc7_ = new LocalConnection(); "send"; _loc7_; 4; this._endpoint; "rpc"; _loc5_; args; var _loc9_ = undefined; }; _loc6_._callbacks = {}; _loc6_._callbacks[0] = [_loc6_,"_didConnect"]; _loc11_.st = getTimer(); "loadMovie"; _loc11_; 2; _loc21_ + ".swf"; "POST"; undefined; return _loc6_; } static function fetchHighScores(options, callbackObj, callbackMethod) { var _loc1_ = MochiAd._loadCommunicator({id:options.id}); if(!_loc1_) { return false; } var _loc4_ = ["fetchHighScores",options]; _loc1_.doSend(["fetchHighScores",options],callbackObj,callbackMethod); return true; } static function sendHighScore(options, callbackObj, callbackMethod) { var _loc1_ = MochiAd._loadCommunicator({id:options.id}); if(!_loc1_) { return false; } var _loc4_ = ["sendHighScore",options]; _loc1_.doSend(["sendHighScore",options],callbackObj,callbackMethod); return true; } static function load(options) { var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options,_loc13_); options.swfv = options.clip.getSWFVersion() || 6; options.mav = MochiAd.getVersion(); var _loc9_ = options.clip; if(!MochiAd._isNetworkAvailable()) { return null; } if(_loc9_._mochiad_loaded) { return null; } var _loc12_ = options.depth; delete options.depth; var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_); var _loc11_ = MochiAd._getRes(options); options.res = _loc11_[0] + "x" + _loc11_[1]; options.server += options.id; delete options.id; _loc9_._mochiad_loaded = true; var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1); for(var _loc7_ in options) { _loc4_[_loc7_] = options[_loc7_]; } var _loc10_ = _loc4_.server; delete _loc4_.server; var _loc14_ = MochiAd._allowDomains(_loc10_); _loc6_.onEnterFrame = function() { if(this._mochiad_ctr._url != this._url) { this.onEnterFrame = function() { if(!this._mochiad_ctr) { delete this.onEnterFrame; MochiAd.unload(this._parent); } }; } }; var _loc5_ = new LocalConnection(); var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_"); _loc5_.mc = _loc6_; _loc5_.name = _loc8_; _loc5_.hostname = _loc14_; _loc5_.allowDomain = function(d) { return true; }; _loc5_.allowInsecureDomain = _loc5_.allowDomain; "connect"; _loc5_; 1; _loc8_; undefined; _loc6_.lc = _loc5_; _loc4_.lc = _loc8_; _loc4_.st = getTimer(); "loadMovie"; _loc4_; 2; _loc10_ + ".swf"; "POST"; undefined; return _loc6_; } static function unload(clip) { if(typeof clip == "undefined") { clip = _root; } if(clip.clip && clip.clip._mochiad) { clip = clip.clip; } if(!clip._mochiad) { return false; } clip._mochiad.removeMovieClip(); delete clip._mochiad_loaded; delete clip._mochiad; return true; } static function _isNetworkAvailable() { if(System.security) { var _loc1_ = System.security; if(_loc1_.sandboxType == "localWithFile") { return false; } } return true; } static function _getRes(options) { var _loc3_ = options.clip.getBounds(); var _loc2_ = 0; var _loc1_ = 0; if(typeof options.res != "undefined") { var _loc4_ = options.res.split("x"); _loc2_ = parseFloat(_loc4_[0]); _loc1_ = parseFloat(_loc4_[1]); } else { _loc2_ = _loc3_.xMax - _loc3_.xMin; _loc1_ = _loc3_.yMax - _loc3_.yMin; } if(_loc2_ == 0 || _loc1_ == 0) { _loc2_ = Stage.width; _loc1_ = Stage.height; } return [_loc2_,_loc1_]; } static function _parseOptions(options, defaults) { var _loc4_ = {}; for(var _loc8_ in defaults) { _loc4_[_loc8_] = defaults[_loc8_]; } if(options) { for(_loc8_ in options) { _loc4_[_loc8_] = options[_loc8_]; } } if(_root.mochiad_options) { var _loc5_ = _root.mochiad_options.split("&"); var _loc2_ = 0; while(_loc2_ < _loc5_.length) { var _loc3_ = _loc5_[_loc2_].split("="); _loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]); _loc2_ = _loc2_ + 1; } } return _loc4_; } }